//package com.tjx.interceptor;
//
//
//import jakarta.servlet.http.HttpServletRequest;
//import jakarta.servlet.http.HttpServletResponse;
//import jakarta.servlet.http.HttpSession;
//import org.springframework.web.servlet.HandlerInterceptor;
//import org.springframework.web.servlet.ModelAndView;
//
///**
// * 登录验证拦截器：未登录用户禁止访问指定接口
// */
//public class LoginInterceptor implements HandlerInterceptor {
//
//    /**
//     * 请求处理前执行（核心拦截逻辑）
//     */
//    @Override
//    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//        // 1. 获取 Session
//        HttpSession session = request.getSession();
//        Object loginUser = session.getAttribute("loginUser");  // 假设登录用户信息存放在 session 中
//
//        // 2. 判断用户是否登录
//        if (loginUser == null) {
//            // 未登录：返回错误信息（前后端分离项目通常返回 JSON）
//            response.setContentType("application/json;charset=UTF-8");
//            response.getWriter().write("{\"code\":401,\"message\":\"请先登录\"}");
//            return false;  // 拦截请求
//        } else {
//            // 已登录：放行
//            return true;
//        }
//    }
//
//    /**
//     * 请求处理后、视图渲染前执行（可选）
//     */
//    @Override
//    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
//                           ModelAndView modelAndView) throws Exception {
//        // 例如：记录请求处理耗时
//    }
//
//    /**
//     * 整个请求完成后执行（可选）
//     */
//    @Override
//    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,
//                                Exception ex) throws Exception {
//        // 例如：清理资源、记录异常
//    }
//}